if os.write(fd, buf) != len(buf):
raise XendError(errmsg)
+
def read_exact(fd, size, errmsg):
buf = ''
while size != 0:
return buf
-
def save(fd, dominfo, network, live, dst):
write_exact(fd, SIGNATURE, "could not write guest state file: signature")
forkHelper(cmd, fd, saveInputHandler, False)
dominfo.destroyDomain()
- dominfo.setName(domain_name)
+ try:
+ dominfo.setName(domain_name)
+ except VmError:
+ # Ignore this. The name conflict (hopefully) arises because we
+ # are doing localhost migration; if we are doing a suspend of a
+ # persistent VM, we need the rename, and don't expect the
+ # conflict. This needs more thought.
+ pass
except Exception, exn:
log.exception("Save failed on domain %s (%s).", domain_name,